package com.fhyc.service;


import com.fhyc.common.XPage;
import com.fhyc.dto.AccuracyIndexDTO;
import com.fhyc.dto.LoadCurveShowDto;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.time.LocalDate;

/**
 * @author 胡辰昊
 * @date 2024/7/17
 * @description 运行监测逻辑类
 */
public interface OperationalMonitorService {
    /**
     * 指定日期的母线预测值和实际值曲线查询
     * dataDate 查询日期
     * busId    带查询的母线id
     *
     * @return 曲线实际值和预测值
     */
    LoadCurveShowDto queryPredictedAndActualBusValues(LocalDate dataDate, String busId, Integer teamId) throws IOException, ParseException;

    /**
     * 准确率指标查询
     *
     * @param page
     * @param dataDate
     * @param busId
     * @return 所有母线的准确率指标信息
     */
    XPage<AccuracyIndexDTO> queryAccuracyIndex(Integer pageNum, Integer pageSize, LocalDate dataDate, String busId) throws NoSuchFieldException, IllegalAccessException;

    void AccuracyIndexExportExcel(HttpServletResponse response, LocalDate localDate, String busId) throws IOException, NoSuchFieldException, IllegalAccessException;

}
